7d78ba3268120f2861952cb85bdd31b882dd71ff,plugins/mps-build/languages/build.mps/source_gen/jetbrains/mps/build/mps/util/ModuleLoader.java,ModuleLoader,importRuntime,#,432

Before Change


        report("cannot find runtime solution in dependencies: " + module.getModuleFqName(), myModule);
        continue;
      }
      SNode ul = SConceptOperations.createNewNode("jetbrains.mps.build.mps.structure.BuildMps_ModuleSolutionRuntime", null);
      SLinkOperations.setTarget(ul, "solution", resolved, false);
      ListSequence.fromList(SLinkOperations.getTargets(SNodeOperations.cast(myModule, "jetbrains.mps.build.mps.structure.BuildMps_Language"), "runtime", true)).addElement(ul);
    }

After Change


        continue;
      }

      SNode ul = SNodeOperations.as(ListSequence.fromList(previous).findFirst(new IWhereFilter<SNode>() {
        public boolean accept(SNode it) {
          return SNodeOperations.isInstanceOf(it, "jetbrains.mps.build.mps.structure.BuildMps_ModuleSolutionRuntime") && SLinkOperations.getTarget(SNodeOperations.cast(it, "jetbrains.mps.build.mps.structure.BuildMps_ModuleSolutionRuntime"), "solution", false) == resolved;
        }
      }), "jetbrains.mps.build.mps.structure.BuildMps_ModuleSolutionRuntime");
      if (ul == null) {
        ul = SConceptOperations.createNewNode("jetbrains.mps.build.mps.structure.BuildMps_ModuleSolutionRuntime", null);
        SLinkOperations.setTarget(ul, "solution", resolved, false);
        ListSequence.fromList(SLinkOperations.getTargets(SNodeOperations.cast(myModule, "jetbrains.mps.build.mps.structure.BuildMps_Language"), "runtime", true)).addElement(ul);
      } else {
        ListSequence.fromList(previous).removeElement(ul);
      }
    }
    for (ModelRoot entry : descriptor.getRuntimeStubModels()) {